package com.icode.sigle;

/**
 * @Author: my_code
 * @Email: my_code@foxmail.com
 * @Create: 2020-12-14 16:17
 *
 * 饿汉式单例： 类加载是创建一个对象
 * 该模式能简单快速的创建一个单例对象，而且是线程安全的(只在类加载时才会初始化，以后都不会)。
 * 但它有一个缺点，就是不管你要不要都会直接创建一个对象，
 * 会消耗一定的性能(当然很小很小，几乎可以忽略不计，所以这种模式在很多场合十分常用而且十分简单)
 *
 * 应用场景：
 *  1、Runtime.class
 *  2、
 */
public class HungryLoad {
    private static HungryLoad hungryLoad =  new HungryLoad();

    public static HungryLoad getInstance(){
        return hungryLoad;
    }
}

class Test{
    public static void main(String[] args) {
        for (int i = 0; i < 20; i++) {
            new Thread(()->{
                HungryLoad instance = HungryLoad.getInstance();
                System.out.println(Thread.currentThread().getName() + "   instance.hashCode:" + instance.hashCode());
            }).start();
        }
    }
}
